#define _CRT_SECURE_NO_WARNINGS 1
//int* masterMind(char* solution, char* guess, int* returnSize) {
//    int* answer = (int*)malloc(sizeof(int) * 2);
//    *returnSize = 2;
//    answer[0] = 0;
//    answer[1] = 0;
//    int i = 0;
//    for (i = 0; i < 4; i++)
//    {
//        if (solution[i] == guess[i])
//        {
//            answer[0]++;
//            solution[i] = '0';
//            guess[i] = '0';
//        }
//    }
//    for (i = 0; i < 4; i++)
//    {
//        if (solution[i] != '0')
//            for (int j = 0; j < 4; j++)
//            {
//                if (solution[i] == guess[j])
//                {
//                    answer[1]++;
//                    guess[j] = '0';
//                    break;
//                }
//            }
//    }
//    return answer;
//}


//int* twoSum(int* numbers, int numbersLen, int target, int* returnSize) {
//    int i = 0;
//    int* p = (int*)malloc(sizeof(int) * 2);
//    *returnSize = 2;
//    for (i = 0; i < numbersLen; i++)
//    {
//        int j = 0;
//        for (j = i; j < numbersLen; j++)
//        {
//            if (numbers[i] + numbers[j] == target)
//            {
//                p[0] = i;
//                p[1] = j;
//                return p;
//            }
//        }
//    }
//}
//
//int* twoSum(int* numbers, int numbersLen, int target, int* returnSize) {
//    int i = 0;
//    int* p = (int*)malloc(sizeof(int) * 2);
//    *returnSize = 2;
//    for (i = 0; i < numbersLen; i++)
//    {
//        if (numbers[i] > target)
//            continue;
//        for (int j = i + 1; j < numbersLen; j++)
//        {
//
//            if (numbers[i] + numbers[j] == target)
//            {
//                p[0] = i + 1;
//                p[1] = j + 1;
//                return p;
//            }
//        }
//    }
//    *returnSize = 0;
//    return 0;
//}
//
//#include <stdio.h>
//#include<stdlib.h>
//int cmp(void* e1, void* e2)
//{
//    return *(int*)e1 - *(int*)e2;
//}
//int main() {
//    int n;
//    scanf("%d", &n);
//    int arr[10000000];
//    int i = 0;
//    for (i = 0; i < n; i++)
//        scanf("%d", &arr[i]);
//    qsort(arr, n, sizeof(int), cmp);
//    for (i = 0; i < (n - 1) / 2; i++)
//    {
//        if (arr[2 * i] != arr[2 * i + 1])
//        {
//            printf("%d", arr[2 * i]);
//            break;
//        }
//    }
//    if (i == (n - 1) / 2)
//        printf("%d", arr[n - 1]);
//    return 0;
//}
//
//#include<stdio.h>
//int main()
//{
//    int n, answer = 0;
//    scanf("%d", &n);
//    while (n--)
//    {
//        int x;
//        scanf("%d", &x);
//        answer ^= x;
//    }
//    printf("%d", answer);
//    return 0;
//}
//
//int findPeakElement(int* nums, int numsLen) {
//    if (numsLen == 1 || nums[0] > nums[1])
//        return 0;
//    if (nums[numsLen - 1] > nums[numsLen - 2])
//        return numsLen - 1;
//    int left = 1;
//    int right = numsLen - 2;
//    while (left <= right)
//    {
//        int mid = left + (right - left) / 2;
//        if (nums[mid] > nums[mid - 1] && nums[mid] > nums[mid + 1])
//        {
//            return mid;
//        }
//        else if (nums[mid] < nums[mid + 1])
//            left = mid + 1;
//        else if (nums[mid] < nums[mid - 1])
//            right = mid - 1;
//    }
//    return 0;
//}